package cn.gogetter;

import java.io.File;

import weka.core.Instances;
import weka.core.converters.ArffLoader;
import weka.core.converters.DatabaseSaver;

public class Save2DB {
	public static void main(String[] args){
		ArffLoader arffloader = new ArffLoader();
		DatabaseSaver saver = null;
		String path = new File("").getAbsolutePath()+"\\data\\";
		try {
			arffloader.setSource(new File(path+"weather.numeric.arff"));
			Instances data = arffloader.getDataSet();
			System.out.println("数据集内容============================================");
			System.out.println(data);
			System.out.println("增量方式保存数据到数据库============================================");
			saver = new DatabaseSaver();
			saver.setDestination("jdbc:mysql://192.168.111.130:3306/weka", "root", "root");
			saver.setTableName("weather"); // 指定表名
			saver.setRelationForTableName(false); // 是否需要将关系名作为表名
			saver.setRetrieval(DatabaseSaver.INCREMENTAL); // 使用增量模式
			saver.setStructure(data); // 设置表结构
			for(int i = 0; i < data.numInstances(); i++){
				saver.writeIncremental(data.instance(i));
			}
			saver.writeIncremental(null); // 通知保存器已经完成
			System.out.println("完成增量方式保存数据============================================");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
}
